<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        // 判断对象中是否有该属性
        // 创建一个对象
        var o = {
            age: 18,
            sex: '男'
        }
        if (o.age) {
            console.log('有该属性');
        } else {
            console.log('没有该属性');
        }
        // 方法一:
        // 判断一个字符串'abcoefoxyozzopp'中出现次数最多的字符，并统计其次数
        // 思路：
        // 1.创建一个空的对象
        // 2.利用charAt() 遍历字符串
        // 3.把每一个字符都存储给对象，如果对象没有该属性，就为1，如果存在了就 +1
        // 4.遍历对象，得到最大值和该字符
        var str = 'abcoefoxyozzopp';
        var obj = {};
        for (var i = 0; i < str.length; i++) {
            var chars = str.charAt(i); //chars是字符串的每一个字符
            if (obj[chars]) { //obj[chars] 得到的是属性值，因为字符串带有引号，所以不能写obj.chars
                obj[chars]++;
            } else {
                obj[chars] = 1; //把1赋值给属性obj[chars]
            }
        }
        console.log(obj);
        var max = 0;
        var ch = '';
        // 遍历对象  for(变量 in 对象)
        for (var k in obj) {
            if (obj[k] > max) {
                max = obj[k]; //obj[k]表示属性值
                ch = k; //k表示属性
            }
        }
        console.log(max);
        console.log('最多的字符是：' + ch);

        // 方法二：
        // 思路：
        // 1. 创建一个空对象
        // 2. 遍历字符串 用变量index保存
        // 3. 把每一个字符看成是对象中的属性
        // 4. 利用if判断属性是否存在，如果存在就让该属性的值自增，如果不存在就给该属性赋值为1，这样就把每一个字符变成了属性，该属性的值就是字符出现的次数
        // 5. 再利用for in循环遍历对象
        // 6. 利用while条件控制语句比较每个属性的值的大小，用变量max保存该属性的值，用变量ch保存该属性
        // 7. 最后输出 max 和 ch
        var str = 'abcoefoxyozzopp';
        var obj1 = {};
        for (var i = 0; i < str.length; i++) {
            index = str[i];
            if (obj1[index]) {
                obj1[index]++;
            } else {
                obj1[index] = 1;
            }
        }
        var max1 = 0;
        var ch1 = '';
        for (var k in obj1) {
            while (obj1[k] > max1) {
                max1 = obj1[k];
                ch1 = k;
            }
        }
        console.log(max1);
        console.log(ch1);
    </script>
</head>

<body>

</body>

</html>